1. Technical Field
This disclosure relates to audio processing and more particularly, to an improved method and apparatus for noise suppression and side tone generation for telephone handsets.
2. Description of the Related Art
Audio processing modules for telephones, in particular digital telephones include several modules which interact to provide improved processed signals. For example, in a telephone handset, a microphone is provided to receive audio input and a receiver is provided to receive an output signal (ear piece on the handset).
Referring to FIG. 1, a side tone generator 10 multiplies an input signal from a microphone 12 by a fixed gain gst, the amplified input signal is added to an output from a buffer 16, which stores signals from a speech decoder 18. Side tone generator 10 outputs to a receiver (ear piece speaker/output) 14 to output a signal to be heard be a user. The input signal from microphone 12, is received in another buffer 20 and output to a speech encoder 22. Thus, when the user talks into microphone 12, the user hears the speech in receiver 14. This is an indication to the user that the handset is xe2x80x9calivexe2x80x9d. Note that side tone generator 10 works in a sample by sample mode and therefore its delay is minimal. The side tone generator preferably meets two important criteria: 1) Very low delayxe2x80x94otherwise the side tone becomes an annoying echo; and 2) when the user does not talk, background noise should not be allowed to be mixed with the receiver output signal because it degrades the quality of the received (far-end) signal.
A microphone expander 30 is a sub-module which suppresses ambient noise in the microphone input when the user does not speak. It primarily includes two components: 1) a variable attenuator 32 which attenuates the microphone signal; and 2) an attenuation control (gain control) 34 which receives the incoming microphone signal and determines what level of attenuation should be applied. Typically, an attenuation control algorithm attempts to apply no attenuation when the user""s speech is present and high attenuation when the user does not speak. Therefore, background noise is attenuated when the user does not speak.
Microphone expander 30 works on a sample by sample basis, thus its delay is negligible. Typically, the microphone signal is processed by microphone expander 30 before it is fed into side tone generator 10. Thus, when the user does not speak, the side tone signal is effectively attenuated and noise does not get mixed with the receiver""s signal. However, other noise such as background noise may be introduced to the input signal and may make encoding difficult or may distort the input signal.
Further, voice band modems are used to transmit various types of data over a telephone network, including Baudot signals for teletypes (TTY), fax, and various other data signals. In a cellular network, the transmission of such signals is often distorted and therefore those signals may need to be decoded and transmitted as data using special service options. If the modem is in an external device which is connected to the terminal via an audio port then the terminal needs to xe2x80x9cknowxe2x80x9d that the signal is in fact a modem signal and should be treated accordingly. This may be done by asking the user to key in a special code to or by providing some identification mechanism in the connection between the external device and the handset. However, these methods are cumbersome, particularly if switching between modem and voice signals is allowed during the conversation.
Therefore, a need exists for an audio processing module/stage which provides uniform noise suppression and side tone generation to all calls on a telephone. A further need exists for a method of utilizing a noise suppression module to detect the presence of modem signals in an input.
An audio processing module, in accordance with the invention, includes an input for receiving input signals. A side tone generator is included for receiving the input signals and for generating a side tone to be output. A noise suppressor is coupled to the input for suppressing noise of the input signal, the noise suppressor providing feedback to the side tone generator to adjust a gain of the input signal to the output.
An audio processing module for telephone handsets includes a microphone input for receiving input signals. A side tone generator receives the input signals and generates a side tone to be output to a speaker, the side tone generator including an attenuator coupled to the microphone for receiving the input signals. A noise suppressor is coupled to the input for suppressing noise of the input signal prior to encoding, the noise suppressor providing feedback to the side tone generator to adjust a gain of the attenuator by multiplying the input signal according to the feedback of the noise suppressor.
In alternate embodiments, one of a speech encoder and a modem decoder may be coupled to the noise suppressor for processing the input signal. The side tone generator may include sample by sample processing and the noise suppressor includes block processing. A buffer may provide delay between the noise suppressor and the side tone generator. The noise suppressor preferably includes Enhanced Variable Rate Codec noise suppression (TIA/EIA/IS-127, Enhanced Variable Rate Codec, Speech Service Option 3 for Wide Band Spread Spectrum Digital Systems, sec. 4.1.2, Sep. 9, 1996). The side tone generator may include a variable gain attenuator for adjusting the gain of the input signal. The feedback may adjust the gain according to an estimate of signal to noise ratio of the input signal. The feedback adjusts the gain according to a calculated gain based on the input signal. The noise suppressor may include a microphone expander for adjustably attenuating a noise suppressed signal output from the noise suppressor. A speech encoder may be coupled to the noise suppressor for encoding the input signal.
A method for suppressing noise and adjusting side tone for a telephone hand set includes the steps of providing an audio processing module including an input for receiving input signals, a side tone generator for receiving the input signals and for generating a side tone to be output and a noise suppressor coupled to the input for suppressing noise of the input signal prior to a coding process, the noise suppressor providing feedback to the side tone generator to adjust a gain of the input signal to the output, determining an instantaneous gain for adjusting the side tone generator based on characteristics of the input signal and adjusting the gain of the side tone generator according to the instantaneous gain.
In other methods, the step of determining the instantaneous gain may include the steps of estimating signal to noise ratios (SNRs) for frequency channels of the input, computing a representative SNR based on all channel SNRs and determining the instantaneous gain based on the representative SNR. The representative SNR may be one of an average SNR of all the channels and a maximum SNR of all the channels. The method further may includes the step of converting the SNR to a gain in decibels by a linear transformation. The instantaneous gain may be employed as the gain of the side tone generator. The step of determining the instantaneous gain may include the steps of computing noise suppressor gains for channels of the input and determining the instantaneous gain based on the noise suppressor gains. The instantaneous gain may be one of an average of the noise suppressor gains of all the channels and a maximum noise suppressor gain of all the channels.